package com.zb.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zb.dto.DeviceInfoDTO;
import com.zb.dto.QuotaDTO;
import com.zb.dto.QuotaInfo;
import com.zb.entity.TbQuotaModel;

import java.util.List;
import java.util.Map;


/**
 * @ClassName TbQuotaService
 * @Description 服务接口
 * @Author xm
 * @Date 2024/08/07 11:42
 **/
public interface TbQuotaService extends IService<TbQuotaModel> {


    /**
     * 查询所有的带数值的指标
     *
     * @return
     */
    List<TbQuotaModel> queryNumberQuota();


    /**
     * 根据设备编号查询， 设备最近的上报的报警数据
     *
     * @param deviceId
     * @return
     */
    List<QuotaInfo> getLastQuotaList(String deviceId);


    /**
     * 将用户解析得指标数据添加到数据库中
     *
     * @param quotaDTOList
     */
    void saveQuotaToInflux(List<QuotaDTO> quotaDTOList);


    /**
     * 解析报文
     *
     * @param topic
     * @param payLoadMap
     * @return
     */
    DeviceInfoDTO analysis(String topic, Map<String, Object> payLoadMap);

}
